package jus.aor.mobilagent.hello;

import java.util.ArrayList;

import jus.aor.mobilagent.kernel._Action;
import jus.aor.mobilagent.kernel.Agent;

/**
 * Classe de test élémentaire pour le bus à agents mobiles
 * @author  Morat
 */
public class Hello extends Agent{

	private static final long serialVersionUID = 3882387847447156013L;
	/**
	  * construction d'un agent de type hello.
	  * @param args aucun argument n'est requis
	  */
	 public Hello(Object[] args) {}
	 private ArrayList<String> listeServer = new ArrayList<String>();

	 class DoIt implements _Action{

		private static final long serialVersionUID = 1L;

		@Override
		public void execute() {
			System.out.println("Hello");
			listeServer.add(getServerName());
		}
		 
	 }
	 
	 class End implements _Action{
			private static final long serialVersionUID = 1L;

			@Override
			public void execute() {
				for(String n : listeServer)
					System.out.println(n);
			}
		 
	 }
	 /**
	 * l'action à entreprendre sur les serveurs visités  
	 */
	protected _Action doIt = new DoIt();
	protected _Action end = new End();
	/* (non-Javadoc)
	 * @see jus.aor.mobilagent.kernel.Agent#retour()
	 */
	protected _Action retour(){
		return doIt;
	}
}
